La fonction `header` en PHP est une fonction utilisée pour envoyer des en-têtes HTTP bruts directement au navigateur avant que tout autre contenu ne soit envoyé. Les en-têtes HTTP sont des composants essentiels des protocoles de communication sur le web, servant à transmettre des informations sur le type de contenu, des statuts de réponse, des redirections, des contrôles de cache, et bien plus encore.
Pour utiliser la fonction `header`, il est crucial de s’assurer qu’aucun contenu n’a encore été envoyé au navigateur. En PHP, cela signifie qu’il ne doit y avoir aucune sortie HTML ou espace blanc avant l’appel à la fonction `header`. Si une sortie a été faite avant l’appel, PHP générera une erreur de type “headers already sent”.
Voici la syntaxe de base de la fonction `header` :
```
header(string $header, bool $replace = true, int $response_code = null);
```
- $header : La chaîne de caractères de l’en-tête à envoyer.
- $replace : Un paramètre optionnel qui indique si l’en-tête doit remplacer un en-tête précédent du même type (par défaut `true`).
- $response\_code : Un code de réponse HTTP optionnel.
1. Redirection : L’une des utilisations les plus courantes de la fonction `header` est de rediriger l’utilisateur vers une autre page. Voici comment faire :
\`\`\`php \`\`\` Dans cet exemple, l’en-tête `“Location”` est envoyé, redirigeant le navigateur de l’utilisateur vers `http://example.com`. La fonction `exit()` est souvent utilisée après `header` pour s’assurer que le script ne continue pas à s’exécuter après la redirection.1. Définir le type de contenu : Vous pouvez utiliser `header` pour spécifier le type de contenu retourné par le script PHP. Par exemple, pour retourner du JSON :
\`\`\`php “Salut, monde!”)); ?> \`\`\` Ici, l’en-tête `“Content-Type”` est utilisé pour spécifier que la réponse est de type `application/json`.1. Interdire la mise en cache : Pour empêcher les navigateurs et les serveurs intermédiaires de mettre en cache la réponse, on peut envoyer plusieurs en-têtes via `header` :
\`\`\`php \`\`\`
1. PHP Manual : La documentation officielle de PHP offre des détails approfondis sur la fonction `header`, y compris son usage et ses paramètres. [PHP Manual – header](https://www.php.net/manual/fr/function.header.php)
1. Mozilla Developer Network (MDN) : MDN fournit une description claire et précise des en-têtes HTTP, ce qui est utile pour comprendre le contexte d’utilisation de la fonction `header`. [MDN Web Docs – HTTP headers](https://developer.mozilla.org/fr/docs/Web/HTTP/Headers)
1. RFC 2616 (HTTP/1.1) : Le document de spécification de HTTP/1.1, utile pour comprendre les normes et protocoles des en-têtes HTTP. [RFC 2616](https://www.rfc-editor.org/rfc/rfc2616)
La fonction `header` de PHP est un outil puissant pour contrôler les en-têtes HTTP envoyés au navigateur. Utilisée correctement, elle permet d’effectuer des redirections, de définir des types de contenu, et de contrôler le comportement de la mise en cache. Assurez-vous simplement de ne pas avoir envoyé de sortie avant d’utiliser `header`, et vous pourrez manipuler les communications HTTP avec précision.
Pour plus de détails, consultez les sources mentionnées, en particulier la documentation officielle de PHP et MDN Web Docs.